// Copyright DustedPixels.com 2008. All rights reserved.

package com.dustedpixels.jasmin.unit.compiler;

/**
 * @author micapolos@gmail.com (Michal Pociecha-Los)
 */
public interface UnitCompiler {
  /**
   * Takes a list of circuits and welds them one by one together with its
   * composite units.
   * 
   * @param circuitDefs definitions of circuit to weld
   * @param dependentUnitDefs supplies dependent units to weld
   * @return welded unit
   */
  Unit compile(Unit sourceUnit, String compiledUnitName, UnitLoader unitLoader) throws Exception;
}
